package com.example.thirdhomework

import android.os.Bundle
import android.os.Handler
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import com.example.thirdhomework.databinding.ActivityFifthBinding

class FifthActivity : AppCompatActivity() {
    private lateinit var binding: ActivityFifthBinding
    var seconds=0
    var running = false
    var wasRunning = false
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
        binding = ActivityFifthBinding.inflate(layoutInflater)
        setContentView(binding.root)
        ViewCompat.setOnApplyWindowInsetsListener(binding.main) { v, insets ->
            val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
            insets
        }
        if (savedInstanceState != null){
            seconds = savedInstanceState.getInt("seconds")
            running = savedInstanceState.getBoolean("running")
            wasRunning = savedInstanceState.getBoolean("wasRunning")

        }
        runTimer()
        binding.buttonStart.setOnClickListener {
            running = true
        }
        binding.buttonStop.setOnClickListener {
            running=false
        }
        binding.buttonRestart.setOnClickListener {
            running = true
            seconds = 0
        }
    }
    fun runTimer()
    {
        val handler = Handler()
        val runnable = object: Runnable{
            override fun run(){
                val hours = seconds / 3600
                val minutes =(seconds % 3600) / 60
                val secs = seconds % 60
                binding.textViewTimer.text=String.format("%02d:%02d:%02d",hours,minutes,secs)
                if (running){
                    seconds++
                }
                handler.postDelayed(this, 1000)
            }

    }
        handler.post(runnable)

    }

    override fun onSaveInstanceState(outState: Bundle) {
        super.onSaveInstanceState(outState)
        outState.putInt("seconds",seconds)
        outState.putBoolean("running",running)
        outState.putBoolean("wasRunning",wasRunning)

    }
}